home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…ch: Other People's Memory / ADC Developer CD (1993-03) (''Other People's Memory'')_iso / Dev.CD Mar 93.iso / Development Platforms / Apple II / Essentials / APW Interfaces / CInclude / MediaControl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-04  |  10.5 KB  |  245 lines  |  [TEXT/MPS ]

  1. /********************************************
  2. ; File: MediaControl.h
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc. 1991-1992
  6. ; All Rights Reserved
  7. ;
  8. ********************************************/
  9.  
  10.  
  11.  
  12. #ifndef __TYPES__
  13. #include <TYPES.h>
  14. #endif
  15.  
  16. #ifndef __GSOS__
  17. #include <GSOS.h>
  18. #endif
  19.  
  20. #ifndef __MEDIACONTROL__
  21. #define __MEDIACONTROL__
  22.  
  23.  
  24.  
  25. /*    Position unit types for MCGetPosition and other calls: */
  26.  
  27. #define    mcInChapters    1            /* Position is measured in chapters. */
  28. #define    mcInFrames        2            /* Position is measured in frames. */
  29. #define    mcInTimes        3            /* Position is measured in hours,minutes,seconds,blocks. */
  30.  
  31.  
  32.  
  33. /*    Control values for MCControl: */
  34.  
  35. #define    mcCInit            0x0001        /* Initialize player. */
  36. #define    mcCEject        0x0002        /* Eject disc. */
  37. #define    mcCVideoOn        0x0003        /* Turn video on. */
  38. #define mcCVideoOff        0x0004        /* Turn video off. */
  39. #define    mcCDisplayOn    0x0005        /* Turn video position display on. */
  40. #define    mcCDisplayOff    0x0006        /* Turn video position display off. */
  41. #define    mcCBlankVideo    0x0007        /* Blank video for next MCSearchTo. */
  42. #define mcCDefaultCom    0x0008        /* Set default communications. */
  43. #define    mcCLockDev        0x0009        /* Set the device to locked. */
  44. #define    mcCUnLockDev    0x000A        /* Unlock the device. */
  45.  
  46. #define    mcC8Data1Stop    0x0028        /* Set 8 - data  1 - stop bit. */
  47. #define    mcC7Data1Stop    0x0029        /* Set 7 - data  1 - stop bit. */
  48. #define    mcC6Data1Stop    0x002A        /* Set 6 - data  1 - stop bit. */
  49. #define    mcC5Data1Stop    0x002B        /* Set 5 - data  1 - stop bit. */
  50. #define    mcC8Data2Stop    0x002C        /* Set 8 - data  2 - stop bit. */
  51. #define    mcC7Data2Stop    0x002D        /* Set 7 - data  2 - stop bit. */
  52. #define    mcC6Data2Stop    0x002E        /* Set 6 - data  2 - stop bit. */
  53. #define    mcC5Data2Stop    0x002F        /* Set 5 - data  2 - stop bit. */
  54.  
  55. #define    mcCBaudDflt        0x0032        /* Set baud rate to control panel setting. */
  56. #define    mcCBaud50        0x0033        /* Set 50 baud. */
  57. #define    mcCBaud75        0x0034        /* Set 75 baud. */
  58. #define    mcCBaud110        0x0035        /* Set 110 baud. */
  59. #define    mcCBaud134        0x0036        /* Set 134 baud. */
  60. #define    mcCBaud150        0x0037        /* Set 150 baud. */
  61. #define    mcCBaud300        0x0038        /* Set 300 baud. */
  62. #define    mcCBaud600        0x0039        /* Set 600 baud. */
  63. #define    mcCBaud1200        0x003A        /* Set 1200 baud. */
  64. #define    mcCBaud1800        0x003B        /* Set 1800 baud. */
  65. #define    mcCBaud2400        0x003C        /* Set 2400 baud. */
  66. #define    mcCBaud3600        0x003D        /* Set 3600 baud. */
  67. #define    mcCBaud4800        0x003E        /* Set 4800 baud. */
  68. #define    mcCBaud7200        0x003F        /* Set 7200 baud. */
  69. #define    mcCBaud9600        0x0040        /* Set 9600 baud. */
  70. #define    mcCBaud19200    0x0041        /* Set 19200 baud. */
  71.  
  72. #define    mcCModem        0x0064        /* Set to modem port. */
  73. #define    mcCPrinter        0x0065        /* Set to printer port. */
  74.  
  75. #define    mcCIgnoreDS        0x00C8        /* Ignore "disk switched" GSOS errors. */
  76. #define    mcCReportDS        0x00C9        /* Report "disk switched" GSOS errors. */
  77.  
  78.  
  79.  
  80. /*    Values for MCGetFeatures: */
  81.  
  82. #define    mcFTypes        0            /* How the disc is organized (frames, chapters, etc.). */
  83. #define    mcFStep            1            /* Maximum fps speed value (normal is 255). */
  84. #define    mcFRecord        2            /* Device supports MCRecord. */
  85. #define    mcFVideo        3            /* Device supports toggling video. */
  86. #define    mcFEject        4            /* Device supports ejecting medium. */
  87. #define    mcFLock            5            /* Device supports user lock (locking user from physically
  88.                                         operating the device). */
  89. #define    mcFVDisplay        6            /* Device supports video display of location. */
  90. #define    mcFVOverlay        7            /* No. of lines of overlay characters device supports. */
  91. #define    mcFVOChars        8            /* No. of chars/line supported by overlay. */
  92. #define mcFVolume        9            /* Does volume control? */
  93.  
  94.  
  95. /*    Status values for MCGetStatus: */
  96.  
  97. #define    mcSUnknown        0x0000        /* Player unable to determine this status. */
  98.  
  99. #define    mcSDeviceType    0x0000        /* "Device type" selector. */
  100. #define    mcSLaserDisc    0x0001        /* Video laser disc player. */
  101. #define    mcSCDAudio        0x0002        /* Audio CD player. */
  102. #define    mcSCDLaserCD    0x0003        /* Combination laser/CD player. */
  103. #define    mcSVCR            0x0004        /* VCR. */
  104. #define    mcSCamCorder    0x0005        /* Video camera. */
  105.  
  106. #define    mcSPlayStatus    0x0001        /* "Play status" selector. */
  107. #define    mcSPlaying        0x0001        /* The device is playing. */
  108. #define    mcSStill        0x0002        /* The device is not playing (paused). */
  109. #define    mcSParked        0x0003        /* The device is shut down. */
  110.  
  111. #define    mcSDoorStatus    0x0002        /* "Player door" status. */
  112. #define    mcSDoorOpen        0x0001
  113. #define    mcSDoorClosed    0x0002
  114.  
  115. #define    mcSDiscType        0x0003        /* "Disc type" selector. */
  116. #define    mcS_CLV            0x0001        /* constant linear velocity */
  117. #define    mcS_CAV            0x0002        /* constant angular velocity */
  118. #define    mcS_CDV            0x0003        /* compact disc video */
  119. #define    mcS_CD            0x0004        /* compact disc */
  120.  
  121. #define    mcSDiscSize        0x0004        /* "Disc size" selector. */
  122. #define    mcSDisc3inch    0x0003
  123. #define    mcSDisc5inch    0x0005
  124. #define    mcSDisc8inch    0x0008
  125. #define    mcSDisc12inch    0x000C
  126.  
  127. #define    mcSDiscSide        0x0005        /* "Disc side" selector. */
  128. #define    mcSSideOne        0x0001
  129. #define    mcSSideTwo        0x0002
  130.  
  131. #define mcSVolumeL        0x0006        /* Current left volume selector. */
  132. #define mcSVolumeR        0x0007        /* Current right volume selector. */
  133.  
  134.  
  135. /*    Time parameter values for MCGetTimes: */
  136.  
  137. #define    mcElapsedTrack    0x0000        /* Elapsed time on current track/chapter. */
  138. #define    mcRemainTrack    0x0001        /* Remaining time on current track/chapter. */
  139. #define    mcElapsedDisc    0x0002        /* Elapsed time on disc. */
  140. #define    mcRemainDisc    0x0003        /* Remaining time on disc. */
  141. #define    mcTotalDisc        0x0004        /* Total run time on disc. */
  142. #define    mcTotalFrames    0x0005        /* Total number of frames on disc. */
  143. #define    mcTracks        0x0006        /* Binary start and ending track numbers (bits 31-16 = ending,
  144.                                         bits 15-0 = starting track number.) */
  145. #define mcDiscID        0x0007        /* returns a disc identifier */
  146.  
  147.  
  148. /*    Audio values: */
  149.  
  150. #define    mcAudioOff        0x0000        /* Audio off. */
  151. #define    mcAudioRight    0x0001        /* Audio thru right channel only. */
  152. #define    mcAudioLinR        0x0002        /* Audio left in right only. */
  153. #define    mcAudioMinR        0x0003        /* Audio mixed in right only. */
  154. #define    mcAudioRinL        0x0004        /* Audio right in left only. */
  155. #define    mcAudioRinLR    0x0005        /* Audio right in left and right. */
  156. #define    mcAudioReverse    0x0006        /* Audio right in left, left in right. */
  157. #define    mcAudioRinLMR    0x0007        /* Audio right in left, mixed in right. */
  158. #define    mcAudioLeft        0x0008        /* Audio left channel only. */
  159. #define    mcAudioStereo    0x0009        /* Audio both channels (in stereo). */
  160. #define    mcAudioLinLR    0x000A        /* Audio left in left and right. */
  161. #define    mcAudioLinLMR    0x000B        /* Audio left in left, mixed in right. */
  162. #define    mcAudioMinL        0x000C        /* Audio mixed in left only. */
  163. #define    mcAudioMinLRinR    0x000D        /* Audio mixed in left, right in right. */
  164. #define    mcAudioMinLLinR    0x000E        /* Audio mixed in left, left in right. */
  165. #define    mcAudioMonaural    0x000F        /* Audio mixed in left and right (monaural). */
  166.  
  167.  
  168.  
  169. /*    Error codes: */
  170.  
  171. #define    mcUnImp            0x2601        /* Unimplemented for this device. */
  172. #define    mcNotApplic        0x2601        /* <see UnImp> */
  173. #define    mcBadSpeed        0x2602        /* Invalid speed specified. */
  174. #define    mcBadUnitType    0x2603        /* Invalid unit type specified. */
  175. #define    mcTimeOutErr    0x2604        /* Timed out during device read. */
  176. #define    mcNotLoaded        0x2605        /* No driver is currently loaded. */
  177. #define    mcBadAudio        0x2606        /* Invalid audio value. */
  178. #define    mcDevRtnError    0x2607        /* Device returned error (unable to perform). */
  179. #define    mcUnRecStatus    0x2608        /* Unrecognizable status from device. */
  180. #define    mcBadSelector    0x2609        /* Invalid selector value specified. */
  181. #define    mcFunnyData        0x260A        /* Funny data received (try again). */
  182. #define    mcInvalidPort    0x260B        /* Invalid port specified. */
  183. #define    mcOnlyOnce        0x260C        /* Scans only once. */
  184. #define    mcNoResMgr        0x260D        /* Resource manager not active. */
  185. #define    mcItemNotThere    0x260E        /* Item not found in database. */
  186. #define    mcWasShutDown    0x260F        /* Media Control Toolset was already shut down. */
  187. #define    mcWasStarted    0x2610        /* Media Control Toolset was already started. */
  188. #define    mcBadChannel    0x2611        /* Invalid channel number. */
  189. #define    mcInvalidParam    0x2612        /* Invalid parameter. */
  190. #define    mcCallNotSupported    0x2613    /* Call is not supported. */
  191.  
  192.  
  193.  
  194. /*    Call definitions: */
  195.  
  196. extern pascal void MCBootInit()        inline(0x0126,dispatcher);
  197. extern pascal void MCStartUp()        inline(0x0226,dispatcher);
  198. extern pascal void MCShutDown()        inline(0x0326,dispatcher);
  199. extern pascal Word MCVersion()        inline(0x0426,dispatcher);
  200. extern pascal void MCReset()        inline(0x0526,dispatcher);
  201. extern pascal Boolean MCStatus()    inline(0x0626,dispatcher);
  202.  
  203. extern pascal void MCLoadDriver()    inline(0x0A26,dispatcher);
  204. extern pascal void MCUnLoadDriver()    inline(0x0B26,dispatcher);
  205. extern pascal void MCDStartUp()        inline(0x1426,dispatcher);
  206. extern pascal void MCDShutDown()    inline(0x1526,dispatcher);
  207.  
  208. extern pascal Long MCBinToTime()    inline(0x0D26,dispatcher);
  209. extern pascal void MCControl()        inline(0x1B26,dispatcher);
  210. extern pascal Long MCGetDiscID()    inline(0x2826,dispatcher);
  211. extern pascal void MCGetDiscTitle()    inline(0x1226,dispatcher);
  212. extern pascal Long MCGetDiscTOC()    inline(0x2726,dispatcher);
  213. extern pascal void MCGetErrorMsg()    inline(0x0926,dispatcher);
  214. extern pascal Long MCGetFeatures()    inline(0x1626,dispatcher);
  215. extern pascal void MCGetName()        inline(0x2D26,dispatcher);
  216. extern pascal Word MCGetNoTracks()    inline(0x2926,dispatcher);
  217. extern pascal Long MCGetPosition()    inline(0x2426,dispatcher);
  218. extern pascal void MCGetProgram()    inline(0x1026,dispatcher);
  219. extern pascal void MCGetSpeeds()    inline(0x1D26,dispatcher);
  220. extern pascal Word MCGetStatus()    inline(0x1A26,dispatcher);
  221. extern pascal Long MCGetTimes()        inline(0x2626,dispatcher);
  222. extern pascal void MCGetTrackTitle() inline(0x0E26,dispatcher);
  223. extern pascal void MCJog()            inline(0x2026,dispatcher);
  224. extern pascal void MCPause()        inline(0x1826,dispatcher);
  225. extern pascal void MCPlay()            inline(0x1726,dispatcher);
  226. extern pascal void MCRecord()        inline(0x2A26,dispatcher);
  227. extern pascal void MCScan()            inline(0x1C26,dispatcher);
  228. extern pascal Boolean MCSearchDone() inline(0x2226,dispatcher);
  229. extern pascal void MCSearchTo()        inline(0x2126,dispatcher);
  230. extern pascal void MCSearchWait()    inline(0x2326,dispatcher);
  231. extern pascal void MCSendRawData()    inline(0x1926,dispatcher);
  232. extern pascal void MCSetAudio()        inline(0x2526,dispatcher);
  233. extern pascal void MCSetDiscTitle()    inline(0x1326,dispatcher);
  234. extern pascal void MCSetProgram()    inline(0x1126,dispatcher);
  235. extern pascal void MCSetTrackTitle() inline(0x0F26,dispatcher);
  236. extern pascal void MCSetVolume()    inline(0x2E26,dispatcher);
  237. extern pascal void MCSpeed()        inline(0x1E26,dispatcher);
  238. extern pascal void MCStop()            inline(0x2B26,dispatcher);
  239. extern pascal void MCStopAt()        inline(0x1F26,dispatcher);
  240. extern pascal Long MCTimeToBin()    inline(0x0C26,dispatcher);
  241. extern pascal void MCWaitRawData()    inline(0x2C26,dispatcher);
  242.  
  243.  
  244. #endif
  245.